package com.huike.clues.MpService;

import com.baomidou.mybatisplus.extension.service.IService;
import com.huike.clues.domain.dto.MPSysMenuDTO;
import com.huike.clues.domain.dto.MPSysMenuTreeDTO;
import com.huike.clues.domain.vo.MPSysMenuFindByIdVo;
import com.huike.clues.domain.vo.MPSysMenuTreeVo;
import com.huike.clues.domain.vo.RoleMenuTreeAjaxResultVo;
import com.huike.common.entity.MPSysMenu;

import java.util.List;

public interface MpSysMenuService extends IService<MPSysMenu> {
    /**
     * 新增菜单
     * @param mpSysMenuDTO
     */
    void add(MPSysMenuDTO mpSysMenuDTO);

    /**
     * 根据菜单编号获取详细信息
     * @param menuId
     * @return
     */
    MPSysMenuFindByIdVo menuFindById(Long menuId);

    /**
     * 删除菜单
     * @param menuId
     */
    void menuDeleteById(Long menuId);

    /**
     * 获取菜单下拉树列表
     * @param mpSysMenuTreeDTO
     * @return
     */
    List<MPSysMenuTreeVo> treeselect(MPSysMenuTreeDTO mpSysMenuTreeDTO);



    /**
     * 加载对应角色菜单列表树
     * @return
     */
    RoleMenuTreeAjaxResultVo roleMenuTreeselect(Long roleId);

    /**
     * 修改菜单
     * @param mpSysMenuDTO
     */
    void updateMenu(MPSysMenuDTO mpSysMenuDTO);
}
